#ifndef _DOUBLELIST_H
#define _DOUBLELIST_H

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

struct NODE
{
	int data;
	struct NODE* next;
	struct NODE* prev;
};

typedef struct NODE NODE;
typedef NODE* pnode;

/*函数声明*/
pnode creat_doublelist(void);
void insert_node(pnode ppre,pnode pnew);
void insert_node2(pnode pnext,pnode pnew);
void print_doublelist(pnode head);
void delete_node(pnode pdel);
void delete(pnode head,int data);
bool isempty_doublelist(pnode head);
void reverse_doublelist(pnode head);
void cut_node(pnode pcut);
void sort_oddeven(pnode head);
void sort_doublelist(pnode head);

#endif

